/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.tarifador.controller;

import br.com.tarifador.dao.TarifadorDao;
import br.com.tarifador.model.Agenda;
import java.util.List;

/**
 *
 * @author charles
 */
public class AgendaRN {

    private TarifadorDao<Agenda> dao;
    private Agenda agenda = new Agenda();
    private String messagemCount;

    public boolean salvaAgenda() {
        dao = new TarifadorDao<Agenda>(Agenda.class);
        boolean valida = false;
        if (agenda != null) {
            valida = dao.save(agenda);
            countAgenda();
            limparCampos();
        }
        return valida;
    }
    public boolean updateAgenda(Agenda contato) {
        dao = new TarifadorDao<Agenda>(Agenda.class);
        boolean valida = false;
        if (agenda != null) {
            agenda.setId(contato.getId());
            valida = dao.update(agenda);
             limparCampos();
         }
        return valida;
    }

    public void limparCampos() {
        this.agenda.setDescricaoContato("");
        this.agenda.setObservacoes("");
        this.agenda.setTelefoneCelular("");
        this.agenda.setTelefoneCelular1("");
        this.agenda.setTelefoneComercial1("");
        this.agenda.setTelefoneComercial2("");
        this.agenda.setTelefoneInternacional("");
        this.agenda.setCelularNextel("");
    }

    public String countAgenda() {
        dao = new TarifadorDao<Agenda>(Agenda.class);
        Long valor = dao.countAllObject();
        return this.messagemCount = valor.toString() + " contatos cadastrados.";
    }

    public boolean deletaAgenda(Long idContato) {
        dao = new TarifadorDao<Agenda>(Agenda.class);
        boolean valida = false;
        if (idContato != null) {
            agenda.setId(idContato);
            valida = dao.delete(agenda);
            countAgenda();
        }
        return valida;
    }

    public String sobreAgenda() {

        String texto = "A agenda é utilizada para cadastradar contatos telefônicos, "
                + "após o cadastro o contato será indentificado no relatório de ligações.";
        return texto;
    }

    public List<Agenda> getListaDeContatos() {
        dao = new TarifadorDao<Agenda>(Agenda.class);
        countAgenda();
        return dao.listall();
    }

    public Agenda getAgenda() {
        return agenda;
    }

    public void setAgenda(Agenda agenda) {
        this.agenda = agenda;
    }

    public String getMessagemCount() {
        return messagemCount;
    }

    public void setMessagemCount(String messagemCount) {
        this.messagemCount = messagemCount;
    }
}
